#pragma once

#include "iioservice.hpp"
#include <boost/asio.hpp>

class IoService : public IIOService
{
public:
	IoService();

protected:
	virtual void run() override;
	virtual void stop() override;
	virtual IWork* createWorkForThis() override;
	virtual boost::asio::io_service& getBoostIoService() override;

	virtual ~IoService();

private:
	boost::asio::io_service m_ioService;
};